home *** CD-ROM | disk | FTP | other *** search
/ Die Speccy' 97 / Die Speccy' 97.iso / amiga_system / the_aminet / util / boot / picboot.lha / PicBoot.Man < prev    next >
Text File  |  1995-11-02  |  31KB  |  828 lines

  1.  
  2.  
  3.    This file describes PicBoot, version 2.8, a program that shows an
  4. IFF ILBM or GIF picture during boot.
  5.  
  6. Introduction
  7. ************
  8.  
  9.    Have you removed all output in your 2.0+ startup, and only see a
  10. black screen during boot? Wouldn't it be nice to have a picture
  11. instead? A picture that disappeared when the Workbench screen opened?
  12.  
  13.    If so, PicBoot is certainly a program for you. What it will do is
  14. to read any IFF ILBM or GIF file containing a picture, and show it. As
  15. soon as the Workbench screen appears (or you press any mouse-button),
  16. the picture will go away.
  17.  
  18.    Features:
  19.  
  20.    *  Fast picture unpacking, using highly optimized assembler. The
  21.      entire picture is read into memory and then unpacked. This applies
  22.      both to the IFF and the GIF unpacker.
  23.  
  24.    *  Optional auto-detaching; the picture is loaded as fast as
  25.      possible, with minimal memory fragmentation.
  26.  
  27.    *  A picture can be shown a user-specified time after the
  28.      Workbench screen opens (see DELAY and PATCH).
  29.  
  30.    *  Extremely flexible argument parser.
  31.  
  32.    *  Random select among any number of pictures, in several different
  33.      ways.
  34.  
  35.    *  Force a certain display mode for a picture, even if saved with
  36.      another (can be selected on a picture by picture basis).
  37.  
  38.    *  IFF ILBM pictures may be packed with Xpk.
  39.  
  40.    *  The comment field of a file may be used to specify options.
  41.  
  42.    *  Optional screen centering (horisontally) and border blanking.
  43.  
  44.    *  Optional screen fading (in various forms). Uses the increased
  45.      palette range in AA (24 bits).
  46.  
  47.    *  Should work with most "Intuition emulators" for gfx-cards.
  48.  
  49.    *  Builtin FixJump, by courtesy of Stefan Sommerfeld.
  50.  
  51.    *  BORDERBLANK option.
  52.  
  53. System requirements
  54. *******************
  55.  
  56.    Apart from OS 2.04+, PicBoot doesn't require any special
  57. libraries. The only non-ROM library required is iffparse.library
  58. (which normally resides in Libs:).
  59.  
  60.        PicBoot have full support for OS 3.0+ and AA graphics. It
  61. should even work with gfx-cards that have an "Intuition emulator".
  62.  
  63. Legal information
  64. *****************
  65.  
  66.    This program is freeware. You may copy and use this program freely,
  67. as long as the following conditions are met:
  68.  
  69.    *  All files are copied in an unmodified state. If additional
  70.      information is needed, place it in a separate file. Preferably
  71.      redistribute in the original archive form (*.Lha).
  72.  
  73.      Exception: So called BBS ads may not be added!
  74.  
  75.    *  The copying is done on a non-commercial and non-profit basis
  76.      only. A copy fee to cover media costs, postage etc. may be
  77.      charged. This fee may not exceed the fee to obtain an AmigaLibDisk
  78.      from Fred Fish.
  79.  
  80.    *  The copier/spreader is not claiming the Copyright ⌐ of this
  81.      program.
  82.  
  83.    Any exceptions from these restrictions requires written permission
  84. from the author, Magnus Holmgren (see Author contact).
  85.  
  86. Disclaimer
  87. ==========
  88.  
  89.    Magnus Holmgren neither assume nor accept any responsibility for the
  90. use or misuse of these programs. He also will not be held liable for
  91. damages or any compensation due to loss of profit or any other damages
  92. arising out of the use, or inability to use these programs.
  93.  
  94.    Magnus Holmgren will not be liable for any damage arising from the
  95. failure of these programs to perform as described, or any destruction
  96. of other programs or data residing on a system attempting to run the
  97. programs. While he know of no damaging errors, the user of these
  98. programs uses it at his or her own risk.
  99.  
  100. Usage
  101. *****
  102.  
  103.    To activate PicBoot, add a line to your S:Startup-Sequence,
  104. looking something like this:
  105.  
  106.      PicBoot Pics:Hi-res/Calvin01.Pic DETACH
  107.  
  108. Or, if you have a list of files in "Work:Text/PicList":
  109.  
  110.      PicBoot Work:Text/PicList LIST DETACH
  111.  
  112.    Or, if your drawer Pics:BootPics contains some pictures:
  113.  
  114.      PicBoot Pics:BootPics/#?.(Pic|Gif) DETACH
  115.  
  116.    This line should be located near the beginning in the
  117. S:Startup-Sequence (no point in placing it near the LoadWB
  118. command, is it? :), but keep it after SetPatchPicBoot will only
  119. output any text if it fails, so don't re-direct its output. Note however
  120. that if you place PicBoot before any additional monitors are
  121. installed, you'll be stuck with the default.monitor for showing your
  122. picture. The DEFAULT switch may be of help here.
  123.  
  124.    Make sure no program makes any output in the CLI window, since then
  125. the Workbench screen will open with a boring CLI-window instead...
  126.  
  127.    Options:
  128.  
  129. FILES
  130. =====
  131.  
  132.    This is the only required argument. Here you specify the name of the
  133. picture you want to view. You may enter several files here, in which
  134. case PicBoot will select one of them randomly, and show that one.
  135.  
  136.    The name(s) can also be the name of an ASCII file containing a
  137. filename list if you specified the LIST option.
  138.  
  139.    The name(s) can also be the name of a drawer, in which case
  140. PicBoot will randomly select one of the files in this drawer. To
  141. use a pattern during this scanning, simply enter the pattern like it
  142. had been the name of a file in the drawer. Example:
  143.  
  144.      Work:Pics/#?.gif
  145.  
  146. which would make PicBoot select a file ending in .gif in the drawer
  147. Work:Pics
  148.  
  149.    If the comment field of the selected listfile or picture starts with
  150. "*PicBoot*: " (case sensitive), then the rest of the comment is taken
  151. to be arguments, like those in a LIST file.
  152.  
  153.    You may freely mix picture and drawer names. Listfiles can only be
  154. mixed with the other two ones if the comment contains the LIST switch.
  155. In that case, the LIST argument should not be used on the command line
  156. (or in a list file). Ofcourse you can random select among list files
  157. with the "drawer scanner" if you like.. :)
  158.  
  159. MODEID
  160. ======
  161.  
  162.    Short form: M
  163.  
  164.    NOTE: This argument is mainly for the more "advanced" user.
  165.  
  166.    This argument should be a decimal number specifying which screen
  167. mode to use.  It basically replaces the so called CAMG hunk in an ILBM
  168. file (since it contains which screen mode to use). Thus, you must
  169. select mode with care, or else the picture will look like trash
  170. (nothing more serious can happen. I hope! :). When showing GIF files,
  171. it will override the internal "best mode" routines (which aren't good
  172. at all. But I haven't bothered to add code to make them better.. :).
  173.  
  174.    To make it easier for you to find out which display mode id to use,
  175. there is a small program called GetModeID included, which uses the
  176. ReqTools or Asl screenmode requester. Simply select the display
  177. mode you want, and it will print out the number you should use here.
  178. See GetModeID.
  179.  
  180.    The mode id will be passed through the same validity checking as a
  181. normal so called CAMG chunk, so PicBoot should handle bad values
  182. properly (although I haven't tested this much.. :).
  183.  
  184. PASSWORD
  185. ========
  186.  
  187.    Short form: PW
  188.  
  189.    Here you can specify the password for an Xpk-encrypted IFF ILBM
  190. picture.
  191.  
  192. LIST
  193. ====
  194.  
  195.    Short form: L
  196.  
  197.    If this switch is specified, PicBoot will interpret the files in
  198. the FILES argument as names of files containing a list of pictures (or
  199. rather, argument lines). PicBoot will then randomly select one of the
  200. lines in the selected file, and process it almost like a normal argument
  201. line. The only difference is that you can't use the DETACH, DELAY,
  202. PATCH or ACTIVATEWB arguments. These arguments may not be specified in
  203. a listfile (no point in doing it anyway).
  204.  
  205.    The listfile is an ASCII (text) file with a simple layout. On the
  206. first line you specify the number of argument lines in the file. This is
  207. usually <number of lines in file>-2 (one line is occupied by the count,
  208. and the other is the last linefeed). If this value is zero, then
  209. PicBoot will exit silently. The rest of the file is simply the
  210. argument lines to choose from. An example:
  211.  
  212.      4
  213.      Work:Pics/Comics/Calvin02.Pic MODEID 137220
  214.      Work:Pics/Comics/Calvin03.Gif
  215.      Work:Text/MoreCalvins.txt LIST CENTER ON
  216.      Work:Pics/Misc/#?.Gif
  217.  
  218.    Note that any arguments specified from the CLI, or in any previous
  219. listfile, will be taken as the new default value. In the listfile you
  220. may alter this default. This does not include the LIST argument
  221. (ofcourse). It is always turned off before parsing a line.
  222.  
  223.        Warning: Since you may enter a new listfile within a listfile,
  224. you can be caught in an endless loop, constantly changing (maybe to the
  225. same) listfile. No checking for this is done. Also, since there is no
  226. CLI-window around, you have no chance to send PicBoot any CTRL-C, if
  227. PicBoot should happen to listen to this. You have been warned! :)
  228.  
  229.        Note: A line in a listfile may not be more than 512 chars, or
  230. it will be truncated when read. This shouldn't cause any problems I
  231. think..
  232.  
  233. CENTER
  234. ======
  235.  
  236.    Short form: C
  237.  
  238.    Possible arguments: YES, ON, NO, OFF. Default is NO.
  239.  
  240.    If this switch is on (argument is YES or ON), PicBoot will center
  241. the picture. This centering should work fine for most screen modes, but
  242. one can never know.. :) If a screen promotor is active, then
  243. PicBoot can get it wrong (if the screen is opened in another mode
  244. than PicBoot had asked for).
  245.  
  246. DEFAULT
  247. =======
  248.  
  249.    Short form: DEF
  250.  
  251.    Possible arguments: YES, ON, NO, OFF. Default is NO.
  252.  
  253.    If this switch is on (argument is YES or ON), PicBoot will force
  254. the picture to use the default.monitor, regardless of what was actually
  255. stored in the picture (in the CAMG chunk). This is needed since very
  256. early in the startup, default.monitor is the only monitor available
  257. (e.g.  multiscan.monitor is normally not available). In the future, I
  258. might add more types of "forcing" (e.g. force a picture to PAL, NTSC or
  259. whatever that might be useful).
  260.  
  261.    This switch also acts on the MODEID parameter, if specified.
  262.  
  263. AUTOSCROLL
  264. ==========
  265.  
  266.    Short form: AS
  267.  
  268.    Possible arguments: YES, ON, NO, OFF. Default is NO.
  269.  
  270.    If this switch is on (argument is YES or ON), the OS 2.0+
  271. autoscrolling of screens will be enabled.
  272.  
  273.        Note: During boot, this switch may make the actual display a
  274. bit smaller than normally possible. There is nothing I can do about
  275. that... :) You can, however, by ensuring that ENV:/IPREFS is properly
  276. set up before PicBoot is started. Or you could try the VIDEOOVERSCAN
  277. switch.
  278.  
  279. VIDEOOVERSCAN
  280. =============
  281.  
  282.    Short form: VO
  283.  
  284.    Possible arguments: YES, ON, NO, OFF. Default is NO.
  285.  
  286.    If this switch is on (argument is YES or ON), the visible size of the
  287. opened screen will be as large as the system can handle (assuming the
  288. picture is large enough). Forces AUTOSCROLL to YES.
  289.  
  290. RTG
  291. ===
  292.  
  293.    Possible arguments: YES, ON, NO, OFF. Default is NO.
  294.  
  295.    If this switch is on (argument in YES or ON), then PicBoot will do
  296. things a little differently, in an attempt to make it work with
  297. gfx-cards (it have been tested with Picasso II). The main difference
  298. is that the screen is opened first, and the picture is decoded into
  299. this screen (usually the picture is decoded first, and then the screen
  300. is opened).  Thus, you should only use this switch if the picture
  301. should be shown with the gfx-card rather than the native Amiga
  302. graphics. If the gfx-card isn't used, the picture decoding may be a
  303. little slower.
  304.  
  305.    Oh, btw, RTG stands for ReTargetable Graphics.
  306.  
  307.        Note: This feature requires OS 3.0 to work. If you don't have
  308. OS 3.0, then this argument is ignored.
  309.  
  310.        Note: You might need to specify a new MODEID in order for
  311. PicBoot to use gfx-card screen.
  312.  
  313. WRITEPIXELLINE
  314. ==============
  315.  
  316.    Short form: WPL
  317.  
  318.    Possible arguments: YES, ON, NO, OFF. Default is NO.
  319.  
  320.    If this switch is on (argument is YES or ON), then PicBoot will use
  321. a ROM function to convert/write the pixel data of a GIF picture.
  322. Please note that this only have any effect if RTG have been used, and
  323. the opened screen isn't a native Amiga screen.
  324.  
  325.    In some cases, this can make PicBoot faster, but in others, it can
  326. make PicBoot slower. There is an explanation for this, but it is a
  327. bit technical. If you don't understand it (or you don't know enough
  328. about your gfx-card), then I suggest you test it a little, finding out
  329. which is fastest for different pictures.
  330.  
  331.    Most gfx-cards have a "chunky" screen. That is, each pixel is stored
  332. in one byte, which specifies which color (in a palette) that the pixel
  333. have. This is different from the native Amiga screen that have
  334. bitplanes (where the color number is spread over several bytes). Since
  335. a GIF picture stores the data in a chunky format, it would be a waste
  336. of time to first convert the chunky data to bitplane form, and then
  337. back again, if it should be displayed in a chunky screen.
  338.  
  339.    In the case of a chunky screen, this switch can improve the speed
  340. quite a lot, if a certain ROM function is patched by the Intuition
  341. emulator.  This patch should simply write the chunky data directly to
  342. the right area of the screen.
  343.  
  344.    However, not all gfx-card screens are chunky (at least the Picasso
  345. II stores 2-16 color screens as bitplanes), and perhaps the "Intuition
  346. emulator" haven't patched the above mentioned function. In those cases,
  347. then this switch will make things slower (since the original function
  348. (which converts the chunky data to bitplane form) is quite a bit slower
  349. than the routines in PicBoot).
  350.  
  351.    To test which is fastest, use something similar to the following
  352. commads:
  353.  
  354.      PicBoot Pics:Gifs/Island.gif RTG ON DETACH
  355.      PicBoot Pics:Gifs/Island.gif RTG ON DETACH WPL
  356.  
  357. and measure how long time both commands took to run (note that
  358. PicBoot detaches after the picture have been completely decoded),
  359. and only use the WPL switch if it made PicBoot faster.
  360.  
  361. FADEIN
  362. ======
  363.  
  364.    Short form: FI
  365.  
  366.    Argument range: 1 to 4. Default is no value.
  367.  
  368.    This value specifies the speed with which the picture should fade in
  369. when the screen is opened. HAM pictures can't be faded.
  370.  
  371. FADEOUT
  372. =======
  373.  
  374.    Short form: FO
  375.  
  376.    Argument range: 1 to 4. Default is no value.
  377.  
  378.    This value specifies the speed with which the picture should fade
  379. out when the screen is closed. HAM pictures can't be faded. Only useful
  380. in combination with DELAY (otherwise the picture will be in the back,
  381. were the fade isn't visible! :).
  382.  
  383. FADEWB
  384. ======
  385.  
  386.    Short form: FWB
  387.  
  388.    Argument range: 1 to 4. Default is no value.
  389.  
  390.    This value specifies the speed with which the Workbench screen
  391. should fade in when the picture screen have been closed. Intended to be
  392. used in combination with the FADEOUT (and DELAY) argument(s).
  393.  
  394.        Note: If you have a Workbench screen with lots of colors,
  395. this fading can cause problems, if you have any background pattern. When
  396. the system loads these patterns, it might try to allocate some of these
  397. colors for use by the pattern. If this happens while PicBoot is
  398. actually doing the fade, it is easy to imagine that the result won't
  399. quite be what you expect (i.e. wrong colors in the pattern). If this
  400. happens for you, simply don't use this feature.
  401.  
  402. DELAY
  403. =====
  404.  
  405.    Short form: DL
  406.  
  407.    A "problem" with PicBoot is that the Workbench screen first
  408. opens, and then processes the Sys:WBStartup drawer, which takes a
  409. little time. This means that the picture PicBoot shows disappear
  410. before the boot is complete. To avoid this problem, the DELAY switch
  411. can be use to specify the number of ticks (there are 50 ticks each
  412. second) PicBoot will wait after the Workbench screen have opened.
  413.  
  414.    However, this isn't perfect. When the Workbench screen opens, the
  415. PicBoot screen must be brought back to the front again. This causes a
  416. little "flicker". To avoid this, use the PATCH parameter as well (this
  417. feature requires OS 3.0+ to work).
  418.  
  419.    There is a special delay value, 0, which causes PicBoot to wait
  420. until you either press any mouse button, or another program sends
  421. PicBoot a break signal (CTRL-C). The program StopPicBoot was
  422. written to do this.
  423.  
  424. BORDERBLANK
  425. ===========
  426.  
  427.    Short form: BB
  428.  
  429.    If this switch is specified, then the special border blanking mode
  430. will be enabled, which can make the picture look a little better. This
  431. only works on OS 3.0 or better.
  432.  
  433. FIXJUMP
  434. =======
  435.  
  436.    Short form: FJ
  437.  
  438.    If this switch is specified, then PicBoot will try to set the
  439. correct overscan settings before opening the picture. This should fix
  440. the "jumping" that otherwise occures when IPrefs is started.
  441.  
  442.    What it does is simply to read the file
  443. EnvArc:Sys/overscan.prefs, and sets the proper values.
  444.  
  445.        Important note: This is a hack, since it calls an undocumented
  446. system function. The code seems to work well on my system (A4000/040 OS
  447. 3.1), but I don't make any guarantees.
  448.  
  449. PATCH
  450. =====
  451.  
  452.    Short form: P
  453.  
  454.    If this switch is specified, PicBoot will install a patch in
  455. Intuition, so that the Workbench screen (or rather, any screen
  456. opened, that explicitly doesn't say that the screen shouldn't open
  457. behind the others) doesn't open in front of the PicBoot screen. This
  458. removes the "flicker" that normally occurs when using the DELAY option.
  459. For this option to be useful, the DELAY parameter must be used as well.
  460.  
  461.        Note 1: This option only works on OS 3.0 or higher. This is
  462. due to the OS (as far as I know), and there is nothing I can do about
  463. it (tech note: Workbench in OS 2.0x doesn't seem to call the open
  464. screen function via the external library vector).
  465.  
  466.        Note 2: This kind of patching is not a recommended thing to
  467. do. Programs should not do temporary patches like this. However, to
  468. avoid the flickering, there is no alternative.. :)
  469.  
  470.        Note 3: In case some other program patches the same function
  471. after PicBoot have installed its patch - and you don't have a program
  472. like e.g. SetMan installed - then PicBoot will leave a small memory
  473. allocation behind (6 bytes), to avoid any problems.
  474.  
  475. DETACH
  476. ======
  477.  
  478.    Short form: D
  479.  
  480.    If this switch is specified, PicBoot will detach from its calling
  481. CLI when the picture is fully loaded and displayed. If you specify this
  482. option, you shouldn't "Run" PicBoot. This option will reduce memory
  483. fragmentation, and will ensure that the picture gets loaded quickly. I
  484. don't think this feature will cause any problems, but I added the
  485. switch just in case.
  486.  
  487. ACTIVATEWB
  488. ==========
  489.  
  490.    Short form: AWB
  491.  
  492.    If this argument is specified, then PicBoot will try to activate a
  493. Workbench window after closing the picture. This might be useful if
  494. you are using the DELAY argument.
  495.  
  496. Known problems
  497. **************
  498.  
  499.    I do not know of any real bugs in PicBoot. However, certain parts
  500. of the program may still contain bugs. E.g.,  pictures that have a mask
  501. bitplane (mskHasMask) are supported, but since I only have one
  502. (compressed) picture that have a mask, there might be a bug in that
  503. code (can't test it properly).  Please report any problems!
  504.  
  505.    Currently there is no support for SHAM, PCHG and similar pictures.
  506. These pictures aren't that common, and I have an Amiga with
  507. AA-graphics, so... :) Color cycling is currently ignored (I have no
  508. need for it).
  509.  
  510.    Interlaced GIF pictures aren't supported at the moment. The
  511. decompression of such pictures would be slower, and there are tools that
  512. can de-interlace a picture.
  513.  
  514.        PicBoot doesn't remap GIF files in any way. Even if you have
  515. ECS, GIF files can still be useful. This is because a GIF file can have
  516. from 2 to 256 colors (inclusive). Thus, if you have a program that can
  517. save a 16-color picture as a 16-color GIF file, there will be no
  518. problem to view it with PicBoot.
  519.  
  520.        PicBoot doesn't make use of any "chunky to planar" hardware,
  521. if it should happen to be installed (e.g. Aikiko). Anyone who have it,
  522. so I can test it if I should decide implement it? :) It would be fairly
  523. simple to do, since my own (rather fast, I might add :) chunky to
  524. planar routines have very similar restrictions.
  525.  
  526.    The "best mode" routine used in the GIF reader isn't good at all
  527. (this includes the ROM function in OS 3.0+! :). I suggest you use the
  528. MODEID parameter instead (Correction: The ROM function isn't good when
  529. there are several different monitors to choose from. If only one or two
  530. (similar) monitors are available, then the result is usually rather
  531. good).
  532.  
  533.    The "monitor promotion" (i.e. the DEFAULT parameter) is not very
  534. intelligent.
  535.  
  536.    Pictures with more than 8 bitplanes are currently not supported by
  537. PicBoot.
  538.  
  539.    The centering for (some?) Super72 screens doesn't work. I suspect
  540. this is an OS-"bug" (I know that PicBoot calculates a reasonable
  541. offset, which Intuition seems to ignore).
  542.  
  543. StopPicBoot
  544. ***********
  545.  
  546.        StopPicBoot is a small program that simply tells PicBoot to
  547. quit, if it should happen to be in memory. This is useful in
  548. combination with the DELAY option. If this is set to 0, PicBoot
  549. expects someone to tell it when it is time to exit, and this is what
  550. StopPicBoot does.
  551.  
  552.    By having StopPicBoot in Sys:WBStartup, then PicBoot will
  553. close its screen when the boot process almost complete (the tooltype
  554. STARTPRI should be very low (-120 or so), so that StopPicBoot is
  555. started as the last program)
  556.  
  557. GetModeID
  558. *********
  559.  
  560.        GetModeID is a simle program that shows a Asl or
  561. ReqTools screenmode requester, whichever is available. The program
  562. will then print out the decimal identifier for the selected screenmode,
  563. suitable for use together with the MODEID parameter. This program can
  564. only be used from a Shell. Example usage:
  565.  
  566.        PicBoot Island.Gif MODEID `GetModeID`
  567.  
  568.    This will first show a screenmode requester (if you have one, that
  569. is), and then show the GIF-picture in the selected screenmode.
  570.  
  571. UnpackILBM
  572. **********
  573.  
  574.        UnpackILBM is another simple program (at least in theory...
  575. :). It will take any IFF ILBM picture and unpack the so called BODY
  576. chunk in it (this is the actual image data). This means that e.g.
  577. PicBoot will be able to display that image a little faster, at
  578. least if loading it from some fast media. Or you could repack the
  579. picture with PowerPacker/Xpk, to maximize the compression (as the
  580. compression used in IFF ILBM isn't a very efficient one. But on the
  581. other hand, it is rather fast and simple). Example usage:
  582.  
  583.        UnpackILBM Island.Pic Island.Pic.NoComp
  584.        UnpackILBM Island.Pic
  585.  
  586.    The first example till unpack the picture to a new one, while the
  587. other will - via a temprary file - overwrite the original picture with
  588. the uncompressed version.
  589.  
  590.        Note: I haven't tested this program that much. I've converted
  591. a few pictures, so it seems to work fine (at least when there aren't any
  592. errors), but one can never now.. Please report any problems!
  593.  
  594.        Note: This program doesn't strip any information. All chunks
  595. will remain. The picture data is only decompressed.
  596.  
  597. Author contact
  598. **************
  599.  
  600.        PicBoot was written by Magnus Holmgren. If you have any
  601. comments etc, feel free to send me a note. You can reach me via
  602. internet on this address:
  603.  
  604.      cmh@augs.se
  605.  
  606.    Fido-net messages should go to "Magnus Holmgren",
  607. 2:204/404.6@fidonet.org.  Snail mail should reach me if you write the
  608. following address on the envelope:
  609.  
  610.      Magnus Holmgren
  611.      KvarnbergsvΣgen 4
  612.      S-444 47  Stenungsund
  613.      SWEDEN
  614.  
  615. Version history
  616. ***************
  617.  
  618. Version 1.00-1.03
  619. =================
  620.  
  621.    Ancient versions.
  622.  
  623. Version 2.0
  624. ===========
  625.  
  626.    Release date: 29 Mar 94
  627.  
  628.    *  BLACK argument removed. Not needed any more, since PicBoot now
  629.      will first allocate the needed memory, decode the picture into
  630.      this memory, and then open the screen. This makes the screen
  631.      opening/closing a little faster too (practically instaneous on my
  632.      A4000/040).
  633.  
  634.    *  Pictures (or rather, brushes) that were less than 16 pixels wide
  635.      wouldn't decompress properly... :)
  636.  
  637.    *  Added support for the CMAPOK flag in the BitMapHeader.bmh_Flags
  638.      (previously called bmh_Pad) field (if this flag is set it
  639.      indicates that the color map contains 8 bits/color rather than 4
  640.      bits/color).
  641.  
  642.    *  Major code cleanup. Made the program somewhat larger, but... :)
  643.  
  644.    *  GIF support added. Should be a little faster than PPShow.. :)
  645.  
  646.    *  The MODEID argument wasn't properly "passed on" to any following
  647.      listfile(s).
  648.  
  649.    *  Rewrote rtGetModeID into GetModeID, that first checks for
  650.      Asl, and then tries with ReqTools before giving up. This new
  651.      version is in C, compiled with DICE, without any startup code, and
  652.      is fully residentable. :) See GetModeID.
  653.  
  654.    *  Included UnpackILBM, that takes any IFF ILBM file (with a BODY
  655.      chunk, i.e. a normal picture) and writes it with an uncompressed
  656.      BODY instead. Written upon user request. See UnpackILBM.
  657.  
  658. Version 2.1
  659. ===========
  660.  
  661.    Release date: 14 May 94
  662.  
  663.    *  The DEFAULT parameter didn't do anything. Fixed
  664.  
  665.    *  UpackILBM and GetModeID updated a little. Version string
  666.      added, recompiled with DICE 3.0 and some other minor changes.
  667.  
  668. Version 2.2
  669. ===========
  670.  
  671.    Release date: 12 Jul 94
  672.  
  673.    *  If the listfile was too short (i.e. not enough number of lines in
  674.      it), PicBoot would crash.
  675.  
  676.    *  Made the detaching code more system friendly. I hope this will
  677.      fix the problems a few users have had.
  678.  
  679.    *  A few minor bugs fixed + some minor optimizations...
  680.  
  681.    *  If the number on the first line in the listfile is 0, then
  682.      PicBoot will exit silently. Now why did I add this... >;)
  683.  
  684.    *  Improved the random number algorithm.
  685.  
  686.    *  Added the DELAY parameter.
  687.  
  688.    *  Added the PATCH parameter.
  689.  
  690.    *  Tweeked the GIF-unpacker a little. Found yet another Macro68
  691.      (V3.170) bug while doing that.. :/ (Watch out for bra.l to other
  692.      sections/modules when generating code for the 68020+. The branch
  693.      target is not correct. :)
  694.  
  695. Version 2.3
  696. ===========
  697.  
  698.    Release date: 30 Aug 94
  699.  
  700.    *  Rewrote startup code and argument parser in C, for easier
  701.      maintainance (and to simplify the implementation of some of the
  702.      features below).
  703.  
  704.    *  You can now also specify a directory (with optional pattern
  705.      matching), and PicBoot will randomly select among the files
  706.      found. As usual, you can use this feature whereever PicBoot used
  707.      to expect a file name.
  708.  
  709.    *  If the comment field of a file that PicBoot will read (i.e. a
  710.      list file or a picture) starts with the string "*PicBoot*: " (case
  711.      sensitive), then the rest of the comment is assumed to be
  712.      arguments, to be parsed like they had been found in a list file.
  713.  
  714.    *  UnpackILBM will not delete the temp file if it couldn't be
  715.      renamed to the original.
  716.  
  717.    *  Removed a piece of debug code in the OpenScreen() patch (it
  718.      flashed the screen). Harmless, but annoying.. :)
  719.  
  720. Version 2.4
  721. ===========
  722.  
  723.    Release date: 11 Oct 94
  724.  
  725.    *  Added the arguments FADEIN, FADEOUT and FADEWB, to make various
  726.      color fades when the screen is opened/closed.
  727.  
  728.    *  Modified the random routines again (changed the seed source). I
  729.      hope it works better now.. :)
  730.  
  731.    *  If DETACH was used and a relative filename was used, then the file
  732.      wasn't found (except in some cases).
  733.  
  734.    *  Using PATCH in combination with DELAY on pre-OS 3.0 systems
  735.      caused a "Not enough memory" message to be printed, and the picture
  736.      wasn't showed (the argument should silently be ignored).
  737.  
  738.    *  Some error messages lacked a final linefeed char (an autodoc was
  739.      a bit misleading.. :).
  740.  
  741.    *  The DELAY was incorrectly interpreted as seconds, and not as
  742.      ticks.
  743.  
  744.    *  Closing the picture before a DELAY timeout had expired caused a
  745.      crash.
  746.  
  747. Version 2.5
  748. ===========
  749.  
  750.    Release date: 13 Oct 94
  751.  
  752.      The Workbench screen wasn't "unlocked" in some cases (when either
  753.      FADEWB or ACTIVATEWB had been used).
  754.  
  755. Version 2.6
  756. ===========
  757.  
  758.    Release date: 30 Nov 94
  759.  
  760.    *  Added RTG switch, which will make PicBoot attempt to be more
  761.      compatible with various "Intuition emulators" for gfx-cards. Don't
  762.      use this switch if you don't need to; it will cause the screen to
  763.      be opened before the rendering (possibly making it slower).
  764.  
  765.      Also added WRITEPIXELLINE, which may improve the speed of the GIF
  766.      reader sometimes, when using the RTG-mode.
  767.  
  768.      Thanks go to Roger Westerlund, who made me actually try to make
  769.      PicBoot RTG friendly, and also did all the needed testing (I
  770.      don't have any gfx-card :/).
  771.  
  772.    *  Changed the screenmode id "validator". Needed for better RTG
  773.      compatibility.
  774.  
  775.    *  Some fade related code was a bit broken, causing problems with
  776.      e.g.  HAM-pictures.
  777.  
  778.    *  UnpackILBM is now able to decompress via a temporary file if the
  779.      file and the current directory are on different volumes. Also
  780.      improved some error reporting.
  781.  
  782.    *  GetModeID now filters out some useless modes (the dual payfield
  783.      (DPF) ones). Also, the ReqTools screen mode requester didn't
  784.      show "non standard" modes (such as HAM and EHB).
  785.  
  786. Version 2.7
  787. ===========
  788.  
  789.    Release date: 17 Jul 95
  790.  
  791.    Well, I started working on this version a couple of months ago
  792. (making it almost finished), but then I forgot all about it.. :)
  793.  
  794.    *  PicBoot didn't unlock the drawer after a directory scanning.
  795.  
  796.    *  PicBoot could hang if a DELAY was requested, and the picture was
  797.      closed before the Workbench window had opened.
  798.  
  799.    *  PicBoot didn't handle names with spaces in them very well..
  800.  
  801.    *  Fixed some bugs in the IFF reader that could cause crashes.
  802.  
  803.    *  Added support for Xpk packed/encrypted IFF files.
  804.  
  805.    *  Made GetModeID a bit smaller. Didn't think twice before adding
  806.      the mode filter.. :)
  807.  
  808.    *  UnpackILBM would report an error and delete the file if the same
  809.      file was specified in both FROM and TO. Now only the error is
  810.      reported.
  811.  
  812. Version 2.8
  813. ===========
  814.  
  815.    Release date: 02 Nov 95
  816.  
  817.    *  Added the FIXJUMP switch. Removes the "jumping" that usually
  818.      occures when IPrefs gets loaded. Thanks to Stefan Sommerfeld for
  819.      sending me the sources to his program FixJump (which this
  820.      implementation is based on).  Note that this is a hack, and may
  821.      not work on all systems.
  822.  
  823.    *  Made a few changes, in an attempt to fix the fading problems a
  824.      couple of users have reported.
  825.  
  826.    *  Added the BORDERBLANK switch.
  827.  
  828.